﻿#region Using
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
#endregion

namespace ghrb.States
{
    /// <summary>
    /// Override able state class
    /// </summary>
    class State
    {
        #region Public Functions
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="parent">Parent</param>
        public State(Game1 parent)
        {
            m_Parent = parent;
        }
        /// <summary>
        /// Load all the content needed for this state
        /// </summary>
        /// <param name="content">ContentManager</param>
        public virtual void LoadContent(ContentManager content) { }

        /// <summary>
        /// Update the state
        /// </summary>
        /// <param name="gameTime">Game time</param>
        public virtual void Update(GameTime gameTime) { }

        /// <summary>
        /// Draw the state
        /// </summary>
        public virtual void Draw() { }
        #endregion

        #region Properties and Vars
        /// <summary>
        /// Parent
        /// </summary>
        protected Game1 m_Parent = null;
        #endregion
    }
}
